package cn.school.dao;

import cn.school.entity.Student;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface StudentMapper {
    public Student get(long stuno);

    public int update(Student stu);
    public int add(Student stu);
    /**
     * 修改密码。
     * arg0,arg1,arg2,param0,param1...9
     *
     * @param stuno
     * @param newPass
     * @return
     */
    public int updatePass(@Param("stuno") long stuno, @Param("pass") String newPass);

    public List<Student> search(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize, @Param("sname") String sname, @Param("qq") String qq, @Param("phone") String phone, @Param("enterStart") Date enterStart, @Param("enterEnd") Date enterEnd);

    public int searchTotal(@Param("sname") String sname, @Param("qq") String qq, @Param("phone") String phone, @Param("enterStart") Date enterStart, @Param("enterEnd") Date enterEnd);

    public List<Student> paging1(@Param("pageNo") int pageNo, @Param("pageSize") int pageSize);

    public int delStus(@Param("stunos") long []stunos);

    //多条件查询
    //map中加入查询的列和他对应的查询条件，统一用like。。。
    // qq 15
    // telephone ,"158"
    // sname 李
    public List<Student> query(@Param("q") Map<String,String> params);

    public List<Student> queryByGrades(long[]gradeids);

    //1：表示本月入学，2，表示最近半年入学的，3，最近1年入学，其他查询入学时间为null
    public List<Student> queryByEnterdate(@Param("type") int type);

    public List<Student> queryCols(@Param("orderBy") String orderBy,@Param("colnames")String...colnames);

    public List<Map> queryNiub(@Param("tableName") String tableName,@Param("cols")String[]cols);

 }
